#ifndef PERSON_H
#define PERSON_H

#include <QString>

class Person
{

public:

    enum Gender
    {
        Male   = 0,
        Female = 1
    };

    Person(QString, QString, int, Person::Gender, QString, QString, bool);
    virtual ~Person();

    QString key();

    void setAsMember(bool member) { mMember = member; }
    bool isMember() { return mMember; }
    bool isMale() { return mGender == Person::Male; }
    bool isFemale() { return mGender == Person::Female; }
    QString firstName() { return mFirstName; }
    QString lastName() { return mLastName; }
    QString name();
    int     age() { return mAge; }
    Person::Gender
            gender();
    QString genderStr();
    int     genderIndex() { return (int)mGender; }
    QString city() { return mCity; }

protected:
    QString mFirstName;
    QString mLastName;
    int     mAge;
    Gender  mGender;
    QString mCity;
    QString mState;
    bool    mMember;
};

#endif // PERSON_H
